package at.mensch.servlet;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import at.mensch.Game;

public class Servlet extends HttpServlet{

	private static final long serialVersionUID = 1L;
	
	public Servlet() {
		super();
		// TODO Auto-generated constructor stub
	}

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
		    throws ServletException, IOException{
		
		HttpSession session = request.getSession(true); // fragt nach der Session, wenn es keine gibt, wird eine neue aufgemacht
		if(session.getAttribute("GameBean") == null){ // prueft, ob schon ein Spiel im Gang ist, wenn dem nicht so ist
			Game game = new Game(); // wird ein neues Spiel erstellt
			session.setAttribute("GameBean", game); // und in die session gesetzt
		}
		
		if (request.getParameter("action") != null) {
			if (request.getParameter("action").equals("roll")) {
				Game g = (Game) session.getAttribute("GameBean");
				g.startTurn();
				session.setAttribute("GameBean", g); // wenn aber bereits ein spiel im gange ist, wird das in der session behalten
			}
		}
        RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/table.jsp");
        dispatcher.forward(request, response);
	}
	
	protected void doPost(HttpServletRequest request, HttpServletResponse response)
		    throws ServletException, IOException{
        
		HttpSession session = request.getSession(true);

        Game g = new Game();
        session.setAttribute("GameBean", g);

        RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/table.jsp");
        dispatcher.forward(request, response);
	}
}
